package com.kn.order.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ContractExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ContractExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCustomerIdIsNull() {
            addCriterion("customer_id is null");
            return (Criteria) this;
        }

        public Criteria andCustomerIdIsNotNull() {
            addCriterion("customer_id is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerIdEqualTo(Long value) {
            addCriterion("customer_id =", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotEqualTo(Long value) {
            addCriterion("customer_id <>", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdGreaterThan(Long value) {
            addCriterion("customer_id >", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdGreaterThanOrEqualTo(Long value) {
            addCriterion("customer_id >=", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdLessThan(Long value) {
            addCriterion("customer_id <", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdLessThanOrEqualTo(Long value) {
            addCriterion("customer_id <=", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdIn(List<Long> values) {
            addCriterion("customer_id in", values, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotIn(List<Long> values) {
            addCriterion("customer_id not in", values, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdBetween(Long value1, Long value2) {
            addCriterion("customer_id between", value1, value2, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotBetween(Long value1, Long value2) {
            addCriterion("customer_id not between", value1, value2, "customerId");
            return (Criteria) this;
        }

        public Criteria andContainerIsNull() {
            addCriterion("container is null");
            return (Criteria) this;
        }

        public Criteria andContainerIsNotNull() {
            addCriterion("container is not null");
            return (Criteria) this;
        }

        public Criteria andContainerEqualTo(String value) {
            addCriterion("container =", value, "container");
            return (Criteria) this;
        }

        public Criteria andContainerNotEqualTo(String value) {
            addCriterion("container <>", value, "container");
            return (Criteria) this;
        }

        public Criteria andContainerGreaterThan(String value) {
            addCriterion("container >", value, "container");
            return (Criteria) this;
        }

        public Criteria andContainerGreaterThanOrEqualTo(String value) {
            addCriterion("container >=", value, "container");
            return (Criteria) this;
        }

        public Criteria andContainerLessThan(String value) {
            addCriterion("container <", value, "container");
            return (Criteria) this;
        }

        public Criteria andContainerLessThanOrEqualTo(String value) {
            addCriterion("container <=", value, "container");
            return (Criteria) this;
        }

        public Criteria andContainerLike(String value) {
            addCriterion("container like", value, "container");
            return (Criteria) this;
        }

        public Criteria andContainerNotLike(String value) {
            addCriterion("container not like", value, "container");
            return (Criteria) this;
        }

        public Criteria andContainerIn(List<String> values) {
            addCriterion("container in", values, "container");
            return (Criteria) this;
        }

        public Criteria andContainerNotIn(List<String> values) {
            addCriterion("container not in", values, "container");
            return (Criteria) this;
        }

        public Criteria andContainerBetween(String value1, String value2) {
            addCriterion("container between", value1, value2, "container");
            return (Criteria) this;
        }

        public Criteria andContainerNotBetween(String value1, String value2) {
            addCriterion("container not between", value1, value2, "container");
            return (Criteria) this;
        }

        public Criteria andFlowerNoIsNull() {
            addCriterion("flower_no is null");
            return (Criteria) this;
        }

        public Criteria andFlowerNoIsNotNull() {
            addCriterion("flower_no is not null");
            return (Criteria) this;
        }

        public Criteria andFlowerNoEqualTo(String value) {
            addCriterion("flower_no =", value, "flowerNo");
            return (Criteria) this;
        }

        public Criteria andFlowerNoNotEqualTo(String value) {
            addCriterion("flower_no <>", value, "flowerNo");
            return (Criteria) this;
        }

        public Criteria andFlowerNoGreaterThan(String value) {
            addCriterion("flower_no >", value, "flowerNo");
            return (Criteria) this;
        }

        public Criteria andFlowerNoGreaterThanOrEqualTo(String value) {
            addCriterion("flower_no >=", value, "flowerNo");
            return (Criteria) this;
        }

        public Criteria andFlowerNoLessThan(String value) {
            addCriterion("flower_no <", value, "flowerNo");
            return (Criteria) this;
        }

        public Criteria andFlowerNoLessThanOrEqualTo(String value) {
            addCriterion("flower_no <=", value, "flowerNo");
            return (Criteria) this;
        }

        public Criteria andFlowerNoLike(String value) {
            addCriterion("flower_no like", value, "flowerNo");
            return (Criteria) this;
        }

        public Criteria andFlowerNoNotLike(String value) {
            addCriterion("flower_no not like", value, "flowerNo");
            return (Criteria) this;
        }

        public Criteria andFlowerNoIn(List<String> values) {
            addCriterion("flower_no in", values, "flowerNo");
            return (Criteria) this;
        }

        public Criteria andFlowerNoNotIn(List<String> values) {
            addCriterion("flower_no not in", values, "flowerNo");
            return (Criteria) this;
        }

        public Criteria andFlowerNoBetween(String value1, String value2) {
            addCriterion("flower_no between", value1, value2, "flowerNo");
            return (Criteria) this;
        }

        public Criteria andFlowerNoNotBetween(String value1, String value2) {
            addCriterion("flower_no not between", value1, value2, "flowerNo");
            return (Criteria) this;
        }

        public Criteria andCnumberIsNull() {
            addCriterion("cnumber is null");
            return (Criteria) this;
        }

        public Criteria andCnumberIsNotNull() {
            addCriterion("cnumber is not null");
            return (Criteria) this;
        }

        public Criteria andCnumberEqualTo(Integer value) {
            addCriterion("cnumber =", value, "cnumber");
            return (Criteria) this;
        }

        public Criteria andCnumberNotEqualTo(Integer value) {
            addCriterion("cnumber <>", value, "cnumber");
            return (Criteria) this;
        }

        public Criteria andCnumberGreaterThan(Integer value) {
            addCriterion("cnumber >", value, "cnumber");
            return (Criteria) this;
        }

        public Criteria andCnumberGreaterThanOrEqualTo(Integer value) {
            addCriterion("cnumber >=", value, "cnumber");
            return (Criteria) this;
        }

        public Criteria andCnumberLessThan(Integer value) {
            addCriterion("cnumber <", value, "cnumber");
            return (Criteria) this;
        }

        public Criteria andCnumberLessThanOrEqualTo(Integer value) {
            addCriterion("cnumber <=", value, "cnumber");
            return (Criteria) this;
        }

        public Criteria andCnumberIn(List<Integer> values) {
            addCriterion("cnumber in", values, "cnumber");
            return (Criteria) this;
        }

        public Criteria andCnumberNotIn(List<Integer> values) {
            addCriterion("cnumber not in", values, "cnumber");
            return (Criteria) this;
        }

        public Criteria andCnumberBetween(Integer value1, Integer value2) {
            addCriterion("cnumber between", value1, value2, "cnumber");
            return (Criteria) this;
        }

        public Criteria andCnumberNotBetween(Integer value1, Integer value2) {
            addCriterion("cnumber not between", value1, value2, "cnumber");
            return (Criteria) this;
        }

        public Criteria andCodePortIdIsNull() {
            addCriterion("code_port_id is null");
            return (Criteria) this;
        }

        public Criteria andCodePortIdIsNotNull() {
            addCriterion("code_port_id is not null");
            return (Criteria) this;
        }

        public Criteria andCodePortIdEqualTo(Long value) {
            addCriterion("code_port_id =", value, "codePortId");
            return (Criteria) this;
        }

        public Criteria andCodePortIdNotEqualTo(Long value) {
            addCriterion("code_port_id <>", value, "codePortId");
            return (Criteria) this;
        }

        public Criteria andCodePortIdGreaterThan(Long value) {
            addCriterion("code_port_id >", value, "codePortId");
            return (Criteria) this;
        }

        public Criteria andCodePortIdGreaterThanOrEqualTo(Long value) {
            addCriterion("code_port_id >=", value, "codePortId");
            return (Criteria) this;
        }

        public Criteria andCodePortIdLessThan(Long value) {
            addCriterion("code_port_id <", value, "codePortId");
            return (Criteria) this;
        }

        public Criteria andCodePortIdLessThanOrEqualTo(Long value) {
            addCriterion("code_port_id <=", value, "codePortId");
            return (Criteria) this;
        }

        public Criteria andCodePortIdIn(List<Long> values) {
            addCriterion("code_port_id in", values, "codePortId");
            return (Criteria) this;
        }

        public Criteria andCodePortIdNotIn(List<Long> values) {
            addCriterion("code_port_id not in", values, "codePortId");
            return (Criteria) this;
        }

        public Criteria andCodePortIdBetween(Long value1, Long value2) {
            addCriterion("code_port_id between", value1, value2, "codePortId");
            return (Criteria) this;
        }

        public Criteria andCodePortIdNotBetween(Long value1, Long value2) {
            addCriterion("code_port_id not between", value1, value2, "codePortId");
            return (Criteria) this;
        }

        public Criteria andProuctWidthIdIsNull() {
            addCriterion("prouct_width_id is null");
            return (Criteria) this;
        }

        public Criteria andProuctWidthIdIsNotNull() {
            addCriterion("prouct_width_id is not null");
            return (Criteria) this;
        }

        public Criteria andProuctWidthIdEqualTo(Long value) {
            addCriterion("prouct_width_id =", value, "prouctWidthId");
            return (Criteria) this;
        }

        public Criteria andProuctWidthIdNotEqualTo(Long value) {
            addCriterion("prouct_width_id <>", value, "prouctWidthId");
            return (Criteria) this;
        }

        public Criteria andProuctWidthIdGreaterThan(Long value) {
            addCriterion("prouct_width_id >", value, "prouctWidthId");
            return (Criteria) this;
        }

        public Criteria andProuctWidthIdGreaterThanOrEqualTo(Long value) {
            addCriterion("prouct_width_id >=", value, "prouctWidthId");
            return (Criteria) this;
        }

        public Criteria andProuctWidthIdLessThan(Long value) {
            addCriterion("prouct_width_id <", value, "prouctWidthId");
            return (Criteria) this;
        }

        public Criteria andProuctWidthIdLessThanOrEqualTo(Long value) {
            addCriterion("prouct_width_id <=", value, "prouctWidthId");
            return (Criteria) this;
        }

        public Criteria andProuctWidthIdIn(List<Long> values) {
            addCriterion("prouct_width_id in", values, "prouctWidthId");
            return (Criteria) this;
        }

        public Criteria andProuctWidthIdNotIn(List<Long> values) {
            addCriterion("prouct_width_id not in", values, "prouctWidthId");
            return (Criteria) this;
        }

        public Criteria andProuctWidthIdBetween(Long value1, Long value2) {
            addCriterion("prouct_width_id between", value1, value2, "prouctWidthId");
            return (Criteria) this;
        }

        public Criteria andProuctWidthIdNotBetween(Long value1, Long value2) {
            addCriterion("prouct_width_id not between", value1, value2, "prouctWidthId");
            return (Criteria) this;
        }

        public Criteria andOpenScissorsIdIsNull() {
            addCriterion("open_scissors_id is null");
            return (Criteria) this;
        }

        public Criteria andOpenScissorsIdIsNotNull() {
            addCriterion("open_scissors_id is not null");
            return (Criteria) this;
        }

        public Criteria andOpenScissorsIdEqualTo(Long value) {
            addCriterion("open_scissors_id =", value, "openScissorsId");
            return (Criteria) this;
        }

        public Criteria andOpenScissorsIdNotEqualTo(Long value) {
            addCriterion("open_scissors_id <>", value, "openScissorsId");
            return (Criteria) this;
        }

        public Criteria andOpenScissorsIdGreaterThan(Long value) {
            addCriterion("open_scissors_id >", value, "openScissorsId");
            return (Criteria) this;
        }

        public Criteria andOpenScissorsIdGreaterThanOrEqualTo(Long value) {
            addCriterion("open_scissors_id >=", value, "openScissorsId");
            return (Criteria) this;
        }

        public Criteria andOpenScissorsIdLessThan(Long value) {
            addCriterion("open_scissors_id <", value, "openScissorsId");
            return (Criteria) this;
        }

        public Criteria andOpenScissorsIdLessThanOrEqualTo(Long value) {
            addCriterion("open_scissors_id <=", value, "openScissorsId");
            return (Criteria) this;
        }

        public Criteria andOpenScissorsIdIn(List<Long> values) {
            addCriterion("open_scissors_id in", values, "openScissorsId");
            return (Criteria) this;
        }

        public Criteria andOpenScissorsIdNotIn(List<Long> values) {
            addCriterion("open_scissors_id not in", values, "openScissorsId");
            return (Criteria) this;
        }

        public Criteria andOpenScissorsIdBetween(Long value1, Long value2) {
            addCriterion("open_scissors_id between", value1, value2, "openScissorsId");
            return (Criteria) this;
        }

        public Criteria andOpenScissorsIdNotBetween(Long value1, Long value2) {
            addCriterion("open_scissors_id not between", value1, value2, "openScissorsId");
            return (Criteria) this;
        }

        public Criteria andProductIdIsNull() {
            addCriterion("product_id is null");
            return (Criteria) this;
        }

        public Criteria andProductIdIsNotNull() {
            addCriterion("product_id is not null");
            return (Criteria) this;
        }

        public Criteria andProductIdEqualTo(Long value) {
            addCriterion("product_id =", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotEqualTo(Long value) {
            addCriterion("product_id <>", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdGreaterThan(Long value) {
            addCriterion("product_id >", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdGreaterThanOrEqualTo(Long value) {
            addCriterion("product_id >=", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLessThan(Long value) {
            addCriterion("product_id <", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLessThanOrEqualTo(Long value) {
            addCriterion("product_id <=", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdIn(List<Long> values) {
            addCriterion("product_id in", values, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotIn(List<Long> values) {
            addCriterion("product_id not in", values, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdBetween(Long value1, Long value2) {
            addCriterion("product_id between", value1, value2, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotBetween(Long value1, Long value2) {
            addCriterion("product_id not between", value1, value2, "productId");
            return (Criteria) this;
        }

        public Criteria andTechnologyIdIsNull() {
            addCriterion("technology_id is null");
            return (Criteria) this;
        }

        public Criteria andTechnologyIdIsNotNull() {
            addCriterion("technology_id is not null");
            return (Criteria) this;
        }

        public Criteria andTechnologyIdEqualTo(Long value) {
            addCriterion("technology_id =", value, "technologyId");
            return (Criteria) this;
        }

        public Criteria andTechnologyIdNotEqualTo(Long value) {
            addCriterion("technology_id <>", value, "technologyId");
            return (Criteria) this;
        }

        public Criteria andTechnologyIdGreaterThan(Long value) {
            addCriterion("technology_id >", value, "technologyId");
            return (Criteria) this;
        }

        public Criteria andTechnologyIdGreaterThanOrEqualTo(Long value) {
            addCriterion("technology_id >=", value, "technologyId");
            return (Criteria) this;
        }

        public Criteria andTechnologyIdLessThan(Long value) {
            addCriterion("technology_id <", value, "technologyId");
            return (Criteria) this;
        }

        public Criteria andTechnologyIdLessThanOrEqualTo(Long value) {
            addCriterion("technology_id <=", value, "technologyId");
            return (Criteria) this;
        }

        public Criteria andTechnologyIdIn(List<Long> values) {
            addCriterion("technology_id in", values, "technologyId");
            return (Criteria) this;
        }

        public Criteria andTechnologyIdNotIn(List<Long> values) {
            addCriterion("technology_id not in", values, "technologyId");
            return (Criteria) this;
        }

        public Criteria andTechnologyIdBetween(Long value1, Long value2) {
            addCriterion("technology_id between", value1, value2, "technologyId");
            return (Criteria) this;
        }

        public Criteria andTechnologyIdNotBetween(Long value1, Long value2) {
            addCriterion("technology_id not between", value1, value2, "technologyId");
            return (Criteria) this;
        }

        public Criteria andSampleIdIsNull() {
            addCriterion("sample_id is null");
            return (Criteria) this;
        }

        public Criteria andSampleIdIsNotNull() {
            addCriterion("sample_id is not null");
            return (Criteria) this;
        }

        public Criteria andSampleIdEqualTo(Long value) {
            addCriterion("sample_id =", value, "sampleId");
            return (Criteria) this;
        }

        public Criteria andSampleIdNotEqualTo(Long value) {
            addCriterion("sample_id <>", value, "sampleId");
            return (Criteria) this;
        }

        public Criteria andSampleIdGreaterThan(Long value) {
            addCriterion("sample_id >", value, "sampleId");
            return (Criteria) this;
        }

        public Criteria andSampleIdGreaterThanOrEqualTo(Long value) {
            addCriterion("sample_id >=", value, "sampleId");
            return (Criteria) this;
        }

        public Criteria andSampleIdLessThan(Long value) {
            addCriterion("sample_id <", value, "sampleId");
            return (Criteria) this;
        }

        public Criteria andSampleIdLessThanOrEqualTo(Long value) {
            addCriterion("sample_id <=", value, "sampleId");
            return (Criteria) this;
        }

        public Criteria andSampleIdIn(List<Long> values) {
            addCriterion("sample_id in", values, "sampleId");
            return (Criteria) this;
        }

        public Criteria andSampleIdNotIn(List<Long> values) {
            addCriterion("sample_id not in", values, "sampleId");
            return (Criteria) this;
        }

        public Criteria andSampleIdBetween(Long value1, Long value2) {
            addCriterion("sample_id between", value1, value2, "sampleId");
            return (Criteria) this;
        }

        public Criteria andSampleIdNotBetween(Long value1, Long value2) {
            addCriterion("sample_id not between", value1, value2, "sampleId");
            return (Criteria) this;
        }

        public Criteria andCsampleIsNull() {
            addCriterion("csample is null");
            return (Criteria) this;
        }

        public Criteria andCsampleIsNotNull() {
            addCriterion("csample is not null");
            return (Criteria) this;
        }

        public Criteria andCsampleEqualTo(Integer value) {
            addCriterion("csample =", value, "csample");
            return (Criteria) this;
        }

        public Criteria andCsampleNotEqualTo(Integer value) {
            addCriterion("csample <>", value, "csample");
            return (Criteria) this;
        }

        public Criteria andCsampleGreaterThan(Integer value) {
            addCriterion("csample >", value, "csample");
            return (Criteria) this;
        }

        public Criteria andCsampleGreaterThanOrEqualTo(Integer value) {
            addCriterion("csample >=", value, "csample");
            return (Criteria) this;
        }

        public Criteria andCsampleLessThan(Integer value) {
            addCriterion("csample <", value, "csample");
            return (Criteria) this;
        }

        public Criteria andCsampleLessThanOrEqualTo(Integer value) {
            addCriterion("csample <=", value, "csample");
            return (Criteria) this;
        }

        public Criteria andCsampleIn(List<Integer> values) {
            addCriterion("csample in", values, "csample");
            return (Criteria) this;
        }

        public Criteria andCsampleNotIn(List<Integer> values) {
            addCriterion("csample not in", values, "csample");
            return (Criteria) this;
        }

        public Criteria andCsampleBetween(Integer value1, Integer value2) {
            addCriterion("csample between", value1, value2, "csample");
            return (Criteria) this;
        }

        public Criteria andCsampleNotBetween(Integer value1, Integer value2) {
            addCriterion("csample not between", value1, value2, "csample");
            return (Criteria) this;
        }

        public Criteria andPackingIdIsNull() {
            addCriterion("packing_id is null");
            return (Criteria) this;
        }

        public Criteria andPackingIdIsNotNull() {
            addCriterion("packing_id is not null");
            return (Criteria) this;
        }

        public Criteria andPackingIdEqualTo(Long value) {
            addCriterion("packing_id =", value, "packingId");
            return (Criteria) this;
        }

        public Criteria andPackingIdNotEqualTo(Long value) {
            addCriterion("packing_id <>", value, "packingId");
            return (Criteria) this;
        }

        public Criteria andPackingIdGreaterThan(Long value) {
            addCriterion("packing_id >", value, "packingId");
            return (Criteria) this;
        }

        public Criteria andPackingIdGreaterThanOrEqualTo(Long value) {
            addCriterion("packing_id >=", value, "packingId");
            return (Criteria) this;
        }

        public Criteria andPackingIdLessThan(Long value) {
            addCriterion("packing_id <", value, "packingId");
            return (Criteria) this;
        }

        public Criteria andPackingIdLessThanOrEqualTo(Long value) {
            addCriterion("packing_id <=", value, "packingId");
            return (Criteria) this;
        }

        public Criteria andPackingIdIn(List<Long> values) {
            addCriterion("packing_id in", values, "packingId");
            return (Criteria) this;
        }

        public Criteria andPackingIdNotIn(List<Long> values) {
            addCriterion("packing_id not in", values, "packingId");
            return (Criteria) this;
        }

        public Criteria andPackingIdBetween(Long value1, Long value2) {
            addCriterion("packing_id between", value1, value2, "packingId");
            return (Criteria) this;
        }

        public Criteria andPackingIdNotBetween(Long value1, Long value2) {
            addCriterion("packing_id not between", value1, value2, "packingId");
            return (Criteria) this;
        }

        public Criteria andGreyWeightIsNull() {
            addCriterion("grey_weight is null");
            return (Criteria) this;
        }

        public Criteria andGreyWeightIsNotNull() {
            addCriterion("grey_weight is not null");
            return (Criteria) this;
        }

        public Criteria andGreyWeightEqualTo(Integer value) {
            addCriterion("grey_weight =", value, "greyWeight");
            return (Criteria) this;
        }

        public Criteria andGreyWeightNotEqualTo(Integer value) {
            addCriterion("grey_weight <>", value, "greyWeight");
            return (Criteria) this;
        }

        public Criteria andGreyWeightGreaterThan(Integer value) {
            addCriterion("grey_weight >", value, "greyWeight");
            return (Criteria) this;
        }

        public Criteria andGreyWeightGreaterThanOrEqualTo(Integer value) {
            addCriterion("grey_weight >=", value, "greyWeight");
            return (Criteria) this;
        }

        public Criteria andGreyWeightLessThan(Integer value) {
            addCriterion("grey_weight <", value, "greyWeight");
            return (Criteria) this;
        }

        public Criteria andGreyWeightLessThanOrEqualTo(Integer value) {
            addCriterion("grey_weight <=", value, "greyWeight");
            return (Criteria) this;
        }

        public Criteria andGreyWeightIn(List<Integer> values) {
            addCriterion("grey_weight in", values, "greyWeight");
            return (Criteria) this;
        }

        public Criteria andGreyWeightNotIn(List<Integer> values) {
            addCriterion("grey_weight not in", values, "greyWeight");
            return (Criteria) this;
        }

        public Criteria andGreyWeightBetween(Integer value1, Integer value2) {
            addCriterion("grey_weight between", value1, value2, "greyWeight");
            return (Criteria) this;
        }

        public Criteria andGreyWeightNotBetween(Integer value1, Integer value2) {
            addCriterion("grey_weight not between", value1, value2, "greyWeight");
            return (Criteria) this;
        }

        public Criteria andProductWeightIsNull() {
            addCriterion("product_weight is null");
            return (Criteria) this;
        }

        public Criteria andProductWeightIsNotNull() {
            addCriterion("product_weight is not null");
            return (Criteria) this;
        }

        public Criteria andProductWeightEqualTo(Integer value) {
            addCriterion("product_weight =", value, "productWeight");
            return (Criteria) this;
        }

        public Criteria andProductWeightNotEqualTo(Integer value) {
            addCriterion("product_weight <>", value, "productWeight");
            return (Criteria) this;
        }

        public Criteria andProductWeightGreaterThan(Integer value) {
            addCriterion("product_weight >", value, "productWeight");
            return (Criteria) this;
        }

        public Criteria andProductWeightGreaterThanOrEqualTo(Integer value) {
            addCriterion("product_weight >=", value, "productWeight");
            return (Criteria) this;
        }

        public Criteria andProductWeightLessThan(Integer value) {
            addCriterion("product_weight <", value, "productWeight");
            return (Criteria) this;
        }

        public Criteria andProductWeightLessThanOrEqualTo(Integer value) {
            addCriterion("product_weight <=", value, "productWeight");
            return (Criteria) this;
        }

        public Criteria andProductWeightIn(List<Integer> values) {
            addCriterion("product_weight in", values, "productWeight");
            return (Criteria) this;
        }

        public Criteria andProductWeightNotIn(List<Integer> values) {
            addCriterion("product_weight not in", values, "productWeight");
            return (Criteria) this;
        }

        public Criteria andProductWeightBetween(Integer value1, Integer value2) {
            addCriterion("product_weight between", value1, value2, "productWeight");
            return (Criteria) this;
        }

        public Criteria andProductWeightNotBetween(Integer value1, Integer value2) {
            addCriterion("product_weight not between", value1, value2, "productWeight");
            return (Criteria) this;
        }

        public Criteria andShippingMarkIsNull() {
            addCriterion("shipping_mark is null");
            return (Criteria) this;
        }

        public Criteria andShippingMarkIsNotNull() {
            addCriterion("shipping_mark is not null");
            return (Criteria) this;
        }

        public Criteria andShippingMarkEqualTo(String value) {
            addCriterion("shipping_mark =", value, "shippingMark");
            return (Criteria) this;
        }

        public Criteria andShippingMarkNotEqualTo(String value) {
            addCriterion("shipping_mark <>", value, "shippingMark");
            return (Criteria) this;
        }

        public Criteria andShippingMarkGreaterThan(String value) {
            addCriterion("shipping_mark >", value, "shippingMark");
            return (Criteria) this;
        }

        public Criteria andShippingMarkGreaterThanOrEqualTo(String value) {
            addCriterion("shipping_mark >=", value, "shippingMark");
            return (Criteria) this;
        }

        public Criteria andShippingMarkLessThan(String value) {
            addCriterion("shipping_mark <", value, "shippingMark");
            return (Criteria) this;
        }

        public Criteria andShippingMarkLessThanOrEqualTo(String value) {
            addCriterion("shipping_mark <=", value, "shippingMark");
            return (Criteria) this;
        }

        public Criteria andShippingMarkLike(String value) {
            addCriterion("shipping_mark like", value, "shippingMark");
            return (Criteria) this;
        }

        public Criteria andShippingMarkNotLike(String value) {
            addCriterion("shipping_mark not like", value, "shippingMark");
            return (Criteria) this;
        }

        public Criteria andShippingMarkIn(List<String> values) {
            addCriterion("shipping_mark in", values, "shippingMark");
            return (Criteria) this;
        }

        public Criteria andShippingMarkNotIn(List<String> values) {
            addCriterion("shipping_mark not in", values, "shippingMark");
            return (Criteria) this;
        }

        public Criteria andShippingMarkBetween(String value1, String value2) {
            addCriterion("shipping_mark between", value1, value2, "shippingMark");
            return (Criteria) this;
        }

        public Criteria andShippingMarkNotBetween(String value1, String value2) {
            addCriterion("shipping_mark not between", value1, value2, "shippingMark");
            return (Criteria) this;
        }

        public Criteria andSelvageMarkIsNull() {
            addCriterion("selvage_mark is null");
            return (Criteria) this;
        }

        public Criteria andSelvageMarkIsNotNull() {
            addCriterion("selvage_mark is not null");
            return (Criteria) this;
        }

        public Criteria andSelvageMarkEqualTo(String value) {
            addCriterion("selvage_mark =", value, "selvageMark");
            return (Criteria) this;
        }

        public Criteria andSelvageMarkNotEqualTo(String value) {
            addCriterion("selvage_mark <>", value, "selvageMark");
            return (Criteria) this;
        }

        public Criteria andSelvageMarkGreaterThan(String value) {
            addCriterion("selvage_mark >", value, "selvageMark");
            return (Criteria) this;
        }

        public Criteria andSelvageMarkGreaterThanOrEqualTo(String value) {
            addCriterion("selvage_mark >=", value, "selvageMark");
            return (Criteria) this;
        }

        public Criteria andSelvageMarkLessThan(String value) {
            addCriterion("selvage_mark <", value, "selvageMark");
            return (Criteria) this;
        }

        public Criteria andSelvageMarkLessThanOrEqualTo(String value) {
            addCriterion("selvage_mark <=", value, "selvageMark");
            return (Criteria) this;
        }

        public Criteria andSelvageMarkLike(String value) {
            addCriterion("selvage_mark like", value, "selvageMark");
            return (Criteria) this;
        }

        public Criteria andSelvageMarkNotLike(String value) {
            addCriterion("selvage_mark not like", value, "selvageMark");
            return (Criteria) this;
        }

        public Criteria andSelvageMarkIn(List<String> values) {
            addCriterion("selvage_mark in", values, "selvageMark");
            return (Criteria) this;
        }

        public Criteria andSelvageMarkNotIn(List<String> values) {
            addCriterion("selvage_mark not in", values, "selvageMark");
            return (Criteria) this;
        }

        public Criteria andSelvageMarkBetween(String value1, String value2) {
            addCriterion("selvage_mark between", value1, value2, "selvageMark");
            return (Criteria) this;
        }

        public Criteria andSelvageMarkNotBetween(String value1, String value2) {
            addCriterion("selvage_mark not between", value1, value2, "selvageMark");
            return (Criteria) this;
        }

        public Criteria andIsdelIsNull() {
            addCriterion("isdel is null");
            return (Criteria) this;
        }

        public Criteria andIsdelIsNotNull() {
            addCriterion("isdel is not null");
            return (Criteria) this;
        }

        public Criteria andIsdelEqualTo(Boolean value) {
            addCriterion("isdel =", value, "isdel");
            return (Criteria) this;
        }

        public Criteria andIsdelNotEqualTo(Boolean value) {
            addCriterion("isdel <>", value, "isdel");
            return (Criteria) this;
        }

        public Criteria andIsdelGreaterThan(Boolean value) {
            addCriterion("isdel >", value, "isdel");
            return (Criteria) this;
        }

        public Criteria andIsdelGreaterThanOrEqualTo(Boolean value) {
            addCriterion("isdel >=", value, "isdel");
            return (Criteria) this;
        }

        public Criteria andIsdelLessThan(Boolean value) {
            addCriterion("isdel <", value, "isdel");
            return (Criteria) this;
        }

        public Criteria andIsdelLessThanOrEqualTo(Boolean value) {
            addCriterion("isdel <=", value, "isdel");
            return (Criteria) this;
        }

        public Criteria andIsdelIn(List<Boolean> values) {
            addCriterion("isdel in", values, "isdel");
            return (Criteria) this;
        }

        public Criteria andIsdelNotIn(List<Boolean> values) {
            addCriterion("isdel not in", values, "isdel");
            return (Criteria) this;
        }

        public Criteria andIsdelBetween(Boolean value1, Boolean value2) {
            addCriterion("isdel between", value1, value2, "isdel");
            return (Criteria) this;
        }

        public Criteria andIsdelNotBetween(Boolean value1, Boolean value2) {
            addCriterion("isdel not between", value1, value2, "isdel");
            return (Criteria) this;
        }

        public Criteria andIsfinishIsNull() {
            addCriterion("isfinish is null");
            return (Criteria) this;
        }

        public Criteria andIsfinishIsNotNull() {
            addCriterion("isfinish is not null");
            return (Criteria) this;
        }

        public Criteria andIsfinishEqualTo(Boolean value) {
            addCriterion("isfinish =", value, "isfinish");
            return (Criteria) this;
        }

        public Criteria andIsfinishNotEqualTo(Boolean value) {
            addCriterion("isfinish <>", value, "isfinish");
            return (Criteria) this;
        }

        public Criteria andIsfinishGreaterThan(Boolean value) {
            addCriterion("isfinish >", value, "isfinish");
            return (Criteria) this;
        }

        public Criteria andIsfinishGreaterThanOrEqualTo(Boolean value) {
            addCriterion("isfinish >=", value, "isfinish");
            return (Criteria) this;
        }

        public Criteria andIsfinishLessThan(Boolean value) {
            addCriterion("isfinish <", value, "isfinish");
            return (Criteria) this;
        }

        public Criteria andIsfinishLessThanOrEqualTo(Boolean value) {
            addCriterion("isfinish <=", value, "isfinish");
            return (Criteria) this;
        }

        public Criteria andIsfinishIn(List<Boolean> values) {
            addCriterion("isfinish in", values, "isfinish");
            return (Criteria) this;
        }

        public Criteria andIsfinishNotIn(List<Boolean> values) {
            addCriterion("isfinish not in", values, "isfinish");
            return (Criteria) this;
        }

        public Criteria andIsfinishBetween(Boolean value1, Boolean value2) {
            addCriterion("isfinish between", value1, value2, "isfinish");
            return (Criteria) this;
        }

        public Criteria andIsfinishNotBetween(Boolean value1, Boolean value2) {
            addCriterion("isfinish not between", value1, value2, "isfinish");
            return (Criteria) this;
        }

        public Criteria andCdateIsNull() {
            addCriterion("cdate is null");
            return (Criteria) this;
        }

        public Criteria andCdateIsNotNull() {
            addCriterion("cdate is not null");
            return (Criteria) this;
        }

        public Criteria andCdateEqualTo(String value) {
            addCriterion("cdate =", value, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateNotEqualTo(String value) {
            addCriterion("cdate <>", value, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateGreaterThan(String value) {
            addCriterion("cdate >", value, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateGreaterThanOrEqualTo(String value) {
            addCriterion("cdate >=", value, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateLessThan(String value) {
            addCriterion("cdate <", value, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateLessThanOrEqualTo(String value) {
            addCriterion("cdate <=", value, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateLike(String value) {
            addCriterion("cdate like", value, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateNotLike(String value) {
            addCriterion("cdate not like", value, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateIn(List<String> values) {
            addCriterion("cdate in", values, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateNotIn(List<String> values) {
            addCriterion("cdate not in", values, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateBetween(String value1, String value2) {
            addCriterion("cdate between", value1, value2, "cdate");
            return (Criteria) this;
        }

        public Criteria andCdateNotBetween(String value1, String value2) {
            addCriterion("cdate not between", value1, value2, "cdate");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andCcodeIsNull() {
            addCriterion("ccode is null");
            return (Criteria) this;
        }

        public Criteria andCcodeIsNotNull() {
            addCriterion("ccode is not null");
            return (Criteria) this;
        }

        public Criteria andCcodeEqualTo(Integer value) {
            addCriterion("ccode =", value, "ccode");
            return (Criteria) this;
        }

        public Criteria andCcodeNotEqualTo(Integer value) {
            addCriterion("ccode <>", value, "ccode");
            return (Criteria) this;
        }

        public Criteria andCcodeGreaterThan(Integer value) {
            addCriterion("ccode >", value, "ccode");
            return (Criteria) this;
        }

        public Criteria andCcodeGreaterThanOrEqualTo(Integer value) {
            addCriterion("ccode >=", value, "ccode");
            return (Criteria) this;
        }

        public Criteria andCcodeLessThan(Integer value) {
            addCriterion("ccode <", value, "ccode");
            return (Criteria) this;
        }

        public Criteria andCcodeLessThanOrEqualTo(Integer value) {
            addCriterion("ccode <=", value, "ccode");
            return (Criteria) this;
        }

        public Criteria andCcodeIn(List<Integer> values) {
            addCriterion("ccode in", values, "ccode");
            return (Criteria) this;
        }

        public Criteria andCcodeNotIn(List<Integer> values) {
            addCriterion("ccode not in", values, "ccode");
            return (Criteria) this;
        }

        public Criteria andCcodeBetween(Integer value1, Integer value2) {
            addCriterion("ccode between", value1, value2, "ccode");
            return (Criteria) this;
        }

        public Criteria andCcodeNotBetween(Integer value1, Integer value2) {
            addCriterion("ccode not between", value1, value2, "ccode");
            return (Criteria) this;
        }

        public Criteria andOpidIsNull() {
            addCriterion("opid is null");
            return (Criteria) this;
        }

        public Criteria andOpidIsNotNull() {
            addCriterion("opid is not null");
            return (Criteria) this;
        }

        public Criteria andOpidEqualTo(Long value) {
            addCriterion("opid =", value, "opid");
            return (Criteria) this;
        }

        public Criteria andOpidNotEqualTo(Long value) {
            addCriterion("opid <>", value, "opid");
            return (Criteria) this;
        }

        public Criteria andOpidGreaterThan(Long value) {
            addCriterion("opid >", value, "opid");
            return (Criteria) this;
        }

        public Criteria andOpidGreaterThanOrEqualTo(Long value) {
            addCriterion("opid >=", value, "opid");
            return (Criteria) this;
        }

        public Criteria andOpidLessThan(Long value) {
            addCriterion("opid <", value, "opid");
            return (Criteria) this;
        }

        public Criteria andOpidLessThanOrEqualTo(Long value) {
            addCriterion("opid <=", value, "opid");
            return (Criteria) this;
        }

        public Criteria andOpidIn(List<Long> values) {
            addCriterion("opid in", values, "opid");
            return (Criteria) this;
        }

        public Criteria andOpidNotIn(List<Long> values) {
            addCriterion("opid not in", values, "opid");
            return (Criteria) this;
        }

        public Criteria andOpidBetween(Long value1, Long value2) {
            addCriterion("opid between", value1, value2, "opid");
            return (Criteria) this;
        }

        public Criteria andOpidNotBetween(Long value1, Long value2) {
            addCriterion("opid not between", value1, value2, "opid");
            return (Criteria) this;
        }

        public Criteria andOptimeIsNull() {
            addCriterion("optime is null");
            return (Criteria) this;
        }

        public Criteria andOptimeIsNotNull() {
            addCriterion("optime is not null");
            return (Criteria) this;
        }

        public Criteria andOptimeEqualTo(Date value) {
            addCriterion("optime =", value, "optime");
            return (Criteria) this;
        }

        public Criteria andOptimeNotEqualTo(Date value) {
            addCriterion("optime <>", value, "optime");
            return (Criteria) this;
        }

        public Criteria andOptimeGreaterThan(Date value) {
            addCriterion("optime >", value, "optime");
            return (Criteria) this;
        }

        public Criteria andOptimeGreaterThanOrEqualTo(Date value) {
            addCriterion("optime >=", value, "optime");
            return (Criteria) this;
        }

        public Criteria andOptimeLessThan(Date value) {
            addCriterion("optime <", value, "optime");
            return (Criteria) this;
        }

        public Criteria andOptimeLessThanOrEqualTo(Date value) {
            addCriterion("optime <=", value, "optime");
            return (Criteria) this;
        }

        public Criteria andOptimeIn(List<Date> values) {
            addCriterion("optime in", values, "optime");
            return (Criteria) this;
        }

        public Criteria andOptimeNotIn(List<Date> values) {
            addCriterion("optime not in", values, "optime");
            return (Criteria) this;
        }

        public Criteria andOptimeBetween(Date value1, Date value2) {
            addCriterion("optime between", value1, value2, "optime");
            return (Criteria) this;
        }

        public Criteria andOptimeNotBetween(Date value1, Date value2) {
            addCriterion("optime not between", value1, value2, "optime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}